#ifndef INT_LINKED_LIST
#define INT_LINKED_LIST
using namespace std;
class IntSLLNode{
    public:
        IntSLLNode(){
            next = nullptr;
        }

        IntSLLNode(int el, IntSLLNode *ptr = nullptr){
            info = el;
            next = ptr;
        }   

        int info;
        IntSLLNode *next;

};

class IntSLList{
    public:
        IntSLList(){
            head = tail = nullptr;
        }
        ~IntSLList();

        bool isEmpty(){
            return head == nullptr;
        }

        void addToHead(int);
        void addToTail(int);

        int* delFromHead();
        int* delFromTail();

        void delNode(int);
        bool isInList(int) const;
    
    private:
        IntSLLNode *head, *tail;
};

#endif